284 research outputs found

    Infinitary Combinatory Reduction Systems: Normalising Reduction Strategies

    Get PDF
    We study normalising reduction strategies for infinitary Combinatory Reduction Systems (iCRSs). We prove that all fair, outermost-fair, and needed-fair strategies are normalising for orthogonal, fully-extended iCRSs. These facts properly generalise a number of results on normalising strategies in first-order infinitary rewriting and provide the first examples of normalising strategies for infinitary lambda calculus

    Comparing Böhm-Like Trees

    Get PDF
    Extending the infinitary rewriting definition of Böhm-like trees to infinitary Combinatory Reduction Systems (iCRSs), we show that each Böhm-like tree defined by means of infinitary rewriting can also be defined by means of a direct approximant function. In addition, we show that counterexamples exists to the reverse implication

    Counterexamples in Infinitary Rewriting with Non-Fully-Extended Rules

    Get PDF
    We show counterexamples exist to confluence modulo hypercollapsing subterms, fair normalisation, and the normal form property in orthogonal infinitary higher-order rewriting with non-fully-extended rules. This sets these systems apart from both fully-extended and finite systems, where no such counterexamples are possible

    Characterizing Languages by Normalization and Termination in String Rewriting

    Get PDF

    Efficiently observing Internet of Things resources

    Get PDF
    The Constrained Application Protocol (CoAP) is a lightweight protocol that enables the implementation of RESTful embedded web services. Observe is one of the CoAP extensions, which allow servers to send every resource state change to interested clients. In this paper we present an interesting extension to the observe option, called conditional observation, where clients specify notification criteria along their observation request. We evaluate the feasibility of implementing this on a constrained device and evaluate the correct operation for a simple scenario. It is shown that the use of conditional observations can result in a reduced number of packets and power consumption compared to normal observe in combination with client-side filtering

    Bohm-Like Trees for Rewriting

    Get PDF
    Klop, J.W. [Promotor]Raamsdonk, F. [Copromotor]Vrijer, R.C. de [Copromotor

    D-SAR: A Distributed Scheduling Algorithm for Real-time, Closed-Loop Control in Industrial Wireless Sensor and Actuator Networks

    Get PDF
    Current wireless standards and protocols for industrial applications such as WirelessHART and ISA100.11a typically use centralized network management techniques for communication scheduling and route establishment. However, large-scale centralized systems can have several drawbacks. They have difficulty in coping with disturbances or changes within the network in real-time. Large-scale centralized systems can also have highly variable latencies thus making them unsuitable for closed-loop control applications. To address these problems, this paper describes D-SAR, a distributed resource reservation algorithm which would allow source nodes to meet the Quality-of-Service (QoS) requirements of the application in real-time, when carrying out peer-to-peer communication. The presented solution uses concepts derived from relevant networking-related domains such as circuit switching and Asynchronous Transfer Mode (ATM) networks and applies them to wireless sensor and actuator networks

    Rewriting Transfinite Terms

    Get PDF
    We define rewriting over terms with positions of transfinite length

    Vicious circles in orthogonal term rewriting systems

    Get PDF
    In this paper we first study the difference between Weak Normalization (WN) and Strong Normalization (SN), in the framework of first order orthogonal rewriting systems. With the help of the Erasure Lemma we establish a Pumping Lemma, yielding information about exceptional terms, defined as terms that are WN but not SN. A corollary is that if an orthogonal TRS is WN, there are no cyclic reductions in finite reduction graphs. This is a stepping stone towards the insight that orthogonal TRSs with the property WN, do not admit cyclic reductions at all

    Implementing and evaluating candidate-based invariant generation

    Get PDF
    The discovery of inductive invariants lies at the heart of static program verification. Presently, many automatic solutions to inductive invariant generation are inflexible, only applicable to certain classes of programs, or unpredictable. An automatic technique that circumvents these deficiencies to some extent is candidate-based invariant generation , whereby a large number of candidate invariants are guessed and then proven to be inductive or rejected using a sound program analyser. This paper describes our efforts to apply candidate-based invariant generation in GPUVerify, a static checker of programs that run on GPUs. We study a set of 383 GPU programs that contain loops, drawn from a number of open source suites and vendor SDKs. Among this set, 253 benchmarks require provision of loop invariants for verification to succeed. We describe the methodology we used to incrementally improve the invariant generation capabilities of GPUVerify to handle these benchmarks, through candidate-based invariant generation , whereby potential program invariants are speculated using cheap static analysis and subsequently either refuted or proven. We also describe a set of experiments that we used to examine the effectiveness of our rules for candidate generation, assessing rules based on their generality (the extent to which they generate candidate invariants), hit rate (the extent to which the generated candidates hold), effectiveness (the extent to which provable candidates actually help in allowing verification to succeed), and influence (the extent to which the success of one generation rule depends on candidates generated by another rule). We believe that our methodology for devising and evaluation candidate generation rules may serve as a useful framework for other researchers interested in candidate-based invariant generation. The candidates produced by GPUVerify help to verify 231 of these 253 programs. An increase in precision, however, has created sluggishness in GPUVerify because more candidates are generated and hence more time is spent on computing those which are inductive invariants. To speed up this process, we have investigated four under-approximating program analyses that aim to reject false candidates quickly and a framework whereby these analyses can run in sequence or in parallel. Across two platforms, running Windows and Linux, our results show that the best combination of these techniques running sequentially speeds up invariant generation across our benchmarks by 1 . 17 × (Windows) and 1 . 01 × (Linux), with per-benchmark best speedups of 93 . 58 × (Windows) and 48 . 34 × (Linux), and worst slowdowns of 10 . 24 × (Windows) and 43 . 31 × (Linux). We find that parallelising the strategies marginally improves overall invariant generation speedups to 1 . 27 × (Windows) and 1 . 11 × (Linux), maintains good best-case speedups of 91 . 18 × (Windows) and 44 . 60 × (Linux), and, importantly, dramatically reduces worst-case slowdowns to 3 . 15 × (Windows) and 3 . 17 × (Linux)
    corecore